Ridge Regression 岭回归
式子3.41
$\hat{\beta^{ridge}}=argmin_{\beta}\{\sum_1^N (y_i-\beta_0-\sum_{j=1}^p x_{ij}\beta_j)^2 + \lambda \sum_{j=1}^p \beta_j^2\}$
其中的$\lambda$是用来控制shrinkage的量的。这种用参数的二次型来控制预测出来的参数的方法在神经网络中也有用到,比如weight decay
。
式子3.41可以分成下面两个式子来写。
式子3.42
$\hat{\beta^{ridge}}=argmin_{\beta} \sum_1^N (y_i-\beta_0-\sum_{j=1}^p x_{ij}\beta_j)^2)$
$subject to \sum_{j=1}^{p} \beta_{j}^{2} \leq t$
如果模型中有很多相关变量的话,系数的决定会很糟糕,并且会出现很高的方差。
之所以不对$\beta_{0}$做惩罚,是因为如果对其做了惩罚,那么结果会依赖于$Y$的选择,因为$\beta_{0}$模拟的是$Y$的bias。为了让ridge在scale之后可以保持不变,需要对input做归一化,让它的bias为0。比如对于$x_{ij}$我们可以用$x_{ij}-\overline{x_{j}}$来代替。
对于$\beta_0$我们用$\overline{y}=frac{1}{N} \sum_{1}^{N} y_i$来估计。 剩下的就用ridge继续估计
式子3.43
$RSS(\lambda) = (y-X\beta)^T (y-X\beta) + \lambda \beta^T \beta$
于是它的解就变成了
式子3.44
$\hat{\beta^{ridge}} = (X^T X + \lambda I)^{-1} X^T y$
$I$是$p \times p$的对角线为1的单位矩阵。
从这个解我们可以看到,在求逆之前,会在$X^T X$的对角线元素上加上非零值,这样可以避免它变成奇异矩阵。